package model;
public interface BankProc {
/**
* @pre !bank.containsKey(person)&&person!=null&&isWellFormed()
* @post (bank.size()==bank.size()@pre+1)&& isWellFormed
* @param person
*/
public void addPerson(Person person);
/**
* @pre bank.containsKey(person)&&isWellFormed()
* @post (bank.size()==@pre bank.size()-1)&& isWellFormed()
* @param person
*/
public void removePerson(Person person);
/**
* @pre bank.containsKey(person)&&isWellFormed()&&account.getMoney()>=0
* @post (bank.get(person).size()==@pre bank.get(person).size()+1)&&
* isWellFormed()
* @param person
*/
public void addHolderAssociatedAccount(Person person, Account account);
/**
* @pre bank.containsKey(person)&&isWellFormed()&&bank.get(person).contains(
* account)
* @post (bank.get(person).size()==@pre bank.get(person).size()-1)&&
* isWellFormed()
* @param person
*/
public void removeHolderAssociatedAccount(Person person, Account account);
public void generateReport(Person person, String message);
public boolean isWellFormed();
}